package top.infopub.mgr.cap.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import top.infopub.generic.GenericDao;
import top.infopub.mgr.cap.domain.ContractInfoDomain;
import top.infopub.mgr.cap.vo.ContractInfoVo;
import top.infopub.model.cap.ContractInfo;

import com.github.pagehelper.Page;

/** 融资合同(CAP_CONTRACT_INFO) **/
public interface ContractInfoDao extends GenericDao<ContractInfo, String> {

    /**
     * 根据条件查询融资合同记录
     * @param ContractInfoVo
     * @return 
     * @see
     */
    Page<ContractInfoDomain> selectByDomainWhere(ContractInfoVo contractInfoVo);
    
    /**
     * 根据条件查询融资合同记录-我审批的
     * @param ContractInfoVo
     * @return 
     * @see
     */
    Page<ContractInfoDomain> selectMyCheckByDomainWhere(ContractInfoVo contractInfoVo);
    
    /**
     * 添加-融资合同
     */
    void insertById(ContractInfo contractInfo);
    
    /**
     * 根据融资合同id查询详情
     * @param id 主键id
     * @return 
     * @see
     */
    ContractInfoVo selectById(@Param("id")String id);
    
    /**
     * 根据融资合同名称判断是否存在
     */
    ContractInfo isExistsByContractName(@Param("contractName")String contractName);
    
    /**
     * 根据项目id查询融资合同项目名称
     */
    List<ContractInfo> queryByProCode(@Param("proId")String proId);
    
    /**
     * 查询融资合同项目名称
     */
    List<ContractInfo> queryAll();
}